package com.byton.order.feign;

import com.byton.order.feign.fallback.ProductFeignClientFallback;
import com.byton.product.bean.Product;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * Description:
 *
 * @Author byteon (liyong98k@163.com)
 * @Create 2025-04-09 11:12
 */

// 注释掉使用 fallback 的配置
@FeignClient(value = "service-product",fallback = ProductFeignClientFallback.class)

public interface ProductFeignClient {

    //mvc 注解两套使用逻辑
    //1.标注在Controller上，是接收这样的请求
    //2.标注在FeignClient上，是发送这样的请求
    @GetMapping("/product/{id}")
    Product getProductById(@PathVariable("id") Long id);

//    @GetMapping("/product/{id}")
//    public Product getProduct(@PathVariable("id") Long productId);  //调用自己写的业务方法 客户端负载均衡

}
